﻿using System;
using System.Collections;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建 Queue 类的实例，模拟上车 的操作
            Queue queue = new Queue();
            //向Queue中添加上车人员
            queue.Enqueue("张三");
            queue.Enqueue("李四");
            queue.Enqueue("王五");
            Console.WriteLine("开始上车：");
            //当队列中没有人上车后
            while (queue.Count != 0)
            {
                Console.WriteLine(queue.Dequeue() + "已上车！");
            }
            Console.WriteLine("上车结束！发车！");

            //向 Queue 类的实例中添加 3 个值，在不移除队列中元素的前提下将队列中的元素依次输出。
            queue.Enqueue("aaa");
            queue.Enqueue("bbb");
            queue.Enqueue("ccc");
            object[] obj = queue.ToArray();
            foreach (var v in obj)
            {
                Console.Write(v+"\t");
            }
            Console.WriteLine();

            //使用 GetEnumerator() 方法遍历
            IEnumerator enumerator = queue.GetEnumerator();
            while (enumerator.MoveNext())
            {
                Console.Write(enumerator.Current + "\t");
            }
            Console.WriteLine();
        }
    }
}
